In coding processing of moving pictures, a quantity of information is generally reduced using redundancy of the moving pictures in spatial and temporal directions. Here, a general method using the redundancy in the spatial direction is represented by the transformation into frequency domain while a general method using the redundancy in the temporal direction is represented by inter-picture prediction (hereinafter referred to as inter prediction). In a coding process using the inter prediction (an inter prediction coding process), when coding a certain picture, a coded picture located before or after the current picture to be coded in display time order is used as a reference picture. Subsequently, a motion vector of the current picture with respect to the reference picture is estimated, and a difference is calculated between image data of the current picture and prediction picture data resulting from motion compensation based on the motion vector, to remove the redundancy in the temporal direction.
In the moving picture coding scheme called H. 264, which has already been standardized, three types of pictures: I-picture, P-picture, and B-picture, are used to reduce the quantity of information. The I-picture is a picture on which no inter prediction coding process is performed, that is, on which a coding process using intra-picture prediction (hereinafter referred to as intra prediction) is performed. The P-picture is a picture on which the inter prediction coding process is performed with reference to one coded picture located before or after the current picture in display time order. The B-picture is a picture on which the inter prediction coding process is performed with reference to two coded pictures located before or after the current picture in display time order.
Furthermore, in the moving picture coding scheme called H. 264, a coding mode which is referred to as temporal direct can be selected to derive a motion vector in coding the B-picture (see Non Patent Literature 1, for example). The inter prediction coding process in temporal direct is described with reference to FIG. 1.
FIG. 1 illustrates an inter prediction coding process in temporal direct and a method of calculating a motion vector.
As shown in FIG. 1, a block (to be processed) Ba of a picture (to be coded) B2 is coded in the inter prediction coding process in temporal direct. In this case, a motion vector “a” is used which has been used to code a block Bb, co-located with the block Ba, in a picture P3 serving as a reference picture located after the picture B2. The motion vector “a” is a motion vector which has been used to code the block Bb and refers to a picture (a reference picture) P1. Here, two motion vectors “b” and “c” parallel to the motion vector “a” are calculated for the block Ba. Specifically, a block, indicated by the motion vector “b”, included in the reference picture P1 located before the block Ba in display time order and a block, indicated by the motion vector “c”, included in the reference picture P3 located after the block Ba in display time order are obtained, and using bi-directional prediction with reference to the obtained blocks, the block Ba is coded. It is to be noted that the motion vector to be used in coding the block Ba is the motion vector “b” directed forward to indicate the reference picture P1 and the motion vector “c” directed backward to indicate the reference picture P3.